1. Field of the Invention
The invention relates generally to redundant arrays of data storage devices. The invention relates more specifically to a RAID system that connects to a host computer by way of a SCSI interface and a diagnostics/control module that also connects to the SCSI interface.
2a. Cross Reference to Related Applications
The following copending U.S. patent application is assigned to the assignee of the present application, is related to the present application and its disclosure is incorporated herein by reference:
(A) Ser. No. 08/124,276 filed Sep. 20, 1993 by Larry Kibler et al and entitled, FULL-HEIGHT DISK DRIVE SUPPORT STRUCTURE.
2c. Cross Reference to Related Patents
The following U.S. patent is related to the present application and its disclosure is incorporated herein by reference:
(A) U.S. Pat. No. 5,148,432 issued to Gordon et al. and entitled ARRAYED DISK DRIVE SYSTEM AND METHOD.
3. Description of the Related Art
The use of RAID data storage systems (Redundant Array of Inexpensive Disk-drives) is becoming increasingly popular due to economic and technical reasons.
Data storage strategies are being shifted away from having one large mainframe computer coupled to an array of a few, large disk units or a few, bulk tape units, and are instead being shifted in favor of having many desktop or mini- or micro-computers intercoupled by a network to one another and to many small, inexpensive and modularly interchangeable data storage devices (e.g., to an array of small, inexpensive, magnetic storage disk drives). One of the reasons behind this trend is a desire in the industry to maintain at least partial system functionality even in the event of a failure in a particular system component. If one of the numerous mini/micro-computers fails, the others can continue to function. If one of the numerous data storage devices fails, the others can continue to provide data access. Also increases in data storage capacity can be economically provided in small increments as the need for increased capacity develops.
A common configuration includes a so-called "client/server computer" sandwiched between a local area network (LAN) and a RAID data storage system. Remote users (clients) send requests for read and/or write access to data files contained in the RAID system over the network (LAN). The client/server computer services each request on a time shared basis.
As the client/server computer performs its client servicing tasks, the client/server computer is burdened at the same time with the overhead of attending to mundane tasks such as monitoring the operational status of each disk drive in the RAID system and taking corrective action, or at least issuing an alarm, when a problem develops.
A difficulty develops when the request-servicing bandwidth and/or storage capacity of such a RAID-based client/server system needs to be scaled upwardly. If the number of network users (clients) or request-load per user increases, the request-servicing burden that is placed on the client/server computer tends to increase correspondingly. At some point, the client/server computer bumps against the limits of its data processing speed and system responsiveness suffers.
System responsiveness is disadvantageously degraded by the burden that status monitoring overhead places on the client/server computer. In other words, the status monitoring overhead disadvantageously reduces the ability of the client/server computer to more quickly respond to the ever-growing number of service requests that it receives from the network. In addition, the status-monitoring overhead burden disadvantageously grows as more data storage drives are added to the RAID system. And accordingly, even though the addition of more data storage drives beneficially increases the system's storage capacity, it also tends to degrade system response speed.
The status monitoring function of the client/server computer is typically supported by customized hardware that is added to an expandable bus of the client/server computer. In one configuration, a serial and/or parallel I/O board is inserted into one of the expansion slots of the client/server computer and site-customized cables are routed from this I/O board to status sensors that are mounted on or in various components of the disk array. Monitoring software is loaded into the client/server computer to drive the I/O board, to query the various sensors and to receive status reports back from them. Such an arrangement is disadvantageous in that an expansion slot of the client/server computer is consumed for carrying out the disk-array monitoring function. It is also disadvantageous because of the customized nature of the sensor cables extending from the I/O board. Each RAID server tends to have its own unique configuration. A network having many such uniquely-configured servers is difficult to maintain.
Increasingly, there is a need within the industry for arranging the client/server computer as an off-the-shelf commodity item that can be quickly and inexpensively replaced in case of failure. There is a long felt desire in the industry to avoid customized routings of cables between a stand-alone computer and peripheral sensors. There is a need in the industry for disk drive arrays or other data storage arrays that can be quickly and efficiently serviced in the event of a failure. There is a growing desire in the industry to be able to control all operations of a networked RAID system from a remote control console without adversely affecting normal operations of the network.